Systems and methods for indexing and searching administrative data

ABSTRACT

A data management system for indexing administrative data of a contact center is disclosed. The data management system includes one or more unified communication devices configured to store the administrative data. The data management system further includes a crawler configured to collect the administrative data from the one or more unified communication devices. The data management system further includes a probing device configured to enable the crawler to communicate and retrieve the administrative data from the one or more unified communication devices. The data management system further includes a temporary database configured to store the collected administrative data; wherein the temporary database stores the collected administrative data in a plurality of flat file tables. The data management system further includes an indexing server configured to index the stored administrative data; wherein the indexed administrative data is searchable through one or more user search queries.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication Ser. No. 61/772,282, filed Mar. 4, 2013, entitled “UNIFIEDCOMMUNICATION INDEXING AND SEARCH”, which is incorporated herein byreference in its entirety.

BACKGROUND

1. Field of the Invention

Embodiments of the present invention generally relate to a system andmethod for managing administrative data of a contact center andparticularly to a system and method for indexing and searching theadministrative data of the contact center.

2. Description of Related Art

Contact centers are employed by many enterprises to service inbound andoutbound contacts from customers. A typical contact center includes aswitch and/or server to receive and route incoming packet-switchedand/or circuit-switched contacts and one or more resources, such ashuman agents and automated resources (e.g., Interactive Voice Response(IVR) units), to service the incoming contacts or work items. Contactcenters distribute contacts, whether inbound or outbound, for servicingto any suitable resource according to predefined criteria. In manyexisting systems, the criteria for servicing the contact from the momentthat the contact center becomes aware of the contact until the contactis connected to an agent are client or operator-specifiable (i.e.,programmable by the operator of the contact center), via a capabilitycalled vectoring. Normally in present-day Automatic Call Distributions(ACDs) when the ACD system controller detects that an agent has becomeavailable to handle a contact, the controller identifies all predefinedcontact-handling queues for the agent (usually in some order ofpriority) and delivers to the agent the highest-priority, oldest contactthat matches the agent's highest-priority queue. Generally, the onlycondition that results in a contact not being delivered to an availableagent is that there are no contacts waiting to be handled.

The primary objective of contact center management is to ultimatelymaximize contact center performance and profitability. An ongoingchallenge in contact center administration is monitoring and optimizingcontact center efficiency. The contact center efficiency is generallymeasured in two ways that are service level and match rate.

Service level is one measurement of the contact center efficiency.Service level is typically determined by dividing the number of contactsaccepted within the specified period by the number accepted plus thenumber that were not accepted, but completed in some other way (e.g.,abandoned, given busy, canceled, flowed out etc.). Of course, servicelevel definitions may vary from one enterprise to another.

Match rate is another indicator used in measuring the contact centerefficiency. Match rate is usually determined by dividing the number ofcontacts accepted by a primary skill level agent within a period of timeby the number of contacts accepted by any agent for a queue over thesame period. An agent with a primary skill level is one that typicallycan handle contacts of a certain nature most effectively and/orefficiently. There are other contact center agents that may not be asproficient as the primary skill level agent, and those agents areidentified either as secondary skill level agents or backup skill levelagents. As can be appreciated, contacts received by a primary skilllevel agent are typically handled more quickly and accurately oreffectively (e.g., higher revenue attained) than a contact received by asecondary or even backup skill level agent. Thus, it is an objective ofmost contact centers to optimize match rate along with service level.

In addition to service level and match rate performance measures,contact centers use other Key Performance Index (KPI), such as revenue,estimated, actual, or predicted wait time, average speed of answer,throughput, agent utilization, agent performance, agent responsivenessand the like, to calculate performance relative to their Service LevelAgreements (SLAs). Operational efficiency is achieved when KPI aremanaged near, but not above, SLA levels.

Throughput is a measure of the number of calls/contact requests or workrequests that can be processed in a given amount of time. Agentutilization is a measure of how efficiently agents' time is being used.Customer service level is a measure of the time customers spend waitingfor their work to be handled. Company contact center customers wish toprovide service to as many requests as possible in a given amount oftime, using the least number of agents to do so, and minimizing the waittime for their customers that can increase the service level agreementof the contact center.

Typically, in a contact center environment, there are variouscommunication devices that are connected to each other. For example, avoice mail server is connected to, let say, 10 different extensions in acontact center. These extensions are further connected to coverage pathsto link with other communication devices. Now, if a user or a supervisorof the contact center desires to access administrative data of an agentat an extension, he may only be able to access the data of thatparticular extension. However, information of other extensions that isassociated with the agent and which can be relevant for the supervisoris not provided. Further, if the supervisor of the contact centerdesires to change one of a button of an agent's extension, thesupervisor can search for the agent's contact center record in aconventional system, and change the button of the agent's extension.However, the supervisor is not aware of a domain or group to which theagent is associated with. Further, the supervisor cannot be able to seethe effect of changing the button of the agent's extension on otherextensions.

There is thus a need for a system and method for indexing and storingthe administrative data and further enables the agent of the contactcenter to access the data in a faster way.

SUMMARY

Embodiments in accordance with the present invention provide a datamanagement system for indexing administrative data of a contact center.The data management system includes one or more unified communicationdevices configured to store the administrative data. The data managementsystem further includes a crawler configured to collect theadministrative data from the one or more unified communication devices.The data management system further includes a probing device configuredto enable the crawler to communicate and retrieve the administrativedata from the one or more unified communication devices. The datamanagement system further includes a temporary database configured tostore the collected administrative data; wherein the temporary databasestores the collected administrative data in a plurality of flat filetables. The data management system further includes an indexing serverconfigured to index the stored administrative data; wherein the indexedadministrative data is searchable through one or more user searchqueries.

Embodiments in accordance with the present invention further provide acomputer-implemented method for indexing administrative data of acontact center. The computer-implemented method includes retrieving oneor more connection details and one or more lists of unifiedcommunication devices from a configuration database, collecting, by acrawler, the administrative data at predefined intervals from the one ormore unified communication devices, and storing the collectedadministrative data into a temporary database, wherein the collectedadministrative data is indexed by an indexing server.

Embodiments in accordance with the present invention further provide acomputer-implemented method for searching administrative data of acontact center. The method includes receiving one or more search queriesfrom a user, segmenting the one or more search queries into a pluralityof different phrases, matching the plurality of different phrases withone or more dictionary items, performing one or more lookups on aplurality of indexes based on the one or more search queries receivedfrom the user, and displaying one or more search query results to theuser.

The present invention can provide a number of advantages depending onits particular configuration. First, the present invention provides asystem and a method for indexing the administrative data of the contactcenter. The indexing of the administrative data enables a user to accessthe administrative data from the unified communication devices in afaster way. Further, the present invention indexes the administrativedata and stores it in a plurality of indexes of an indexing server, sothat an agent of the contact center may easily access the data. Further,the present invention enables the user to manage or optimizeconfiguration of an agent's extension. For example, the user may changeone of the buttons of an agent's extension telephone by accessing theadministrative data of that agent.

Next, the present invention provides additional information associatedwith a user's search queries. For example, if the user triggers a searchquery for “Alex extension” then the present invention provide data forthe “Alex extension” along with additional data such as extensions of apickup group or a hunt group which are associated with Alex. In anembodiment of the present invention, the additional information may berepresented as a set of hyperlinks that allows the user to accessconfiguration data of each of the hyperlinks. Therefore, the presentinvention provides a chain of links associated with the user's searchquery. Further, one or more lookups performed by the present inventionis dynamic and the search results are displayed in an order based on theuser's search queries. For example, if the user searches for “Alexextension” then the results may be displayed in an order, such asextension, then a pickup group, a hunt group, but if the user searchesfor “Alex pickup” the present invention may display result in an order,such as pickup group, and then the extension and the hunt group.Further, the search results may be displayed graphically to the user.

These and other advantages will be apparent from the disclosure of thepresent invention(s) contained herein.

The preceding is a simplified summary of the present invention toprovide an understanding of some aspects of the present invention. Thissummary is neither an extensive nor exhaustive overview of the presentinvention and its various embodiments. It is intended neither toidentify key or critical elements of the present invention nor todelineate the scope of the present invention but to present selectedconcepts of the present invention in a simplified form as anintroduction to the more detailed description presented below. As willbe appreciated, other embodiments of the present invention are possibleutilizing, alone or in combination, one or more of the features setforth above or described in detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and still further features and advantages of the presentinvention will become apparent upon consideration of the followingdetailed description of embodiments thereof, especially when taken inconjunction with the accompanying drawings, and wherein:

FIG. 1 illustrates a block diagram depicting a contact center accordingto an embodiment of the present invention;

FIG. 2 illustrates block diagram of a data management system accordingto an embodiment of the present invention;

FIG. 3 illustrates block diagram of an indexing server for indexingadministrative data of the contact center according to an embodiment ofthe present invention;

FIG. 4A illustrates block diagram of the data management system forlookup of a user search query according to an embodiment of the presentinvention;

FIG. 4B illustrates indexing server matching of different phrases andsynonyms of user's search queries to an index of the indexing serveraccording to an embodiment of the present invention;

FIG. 5 depicts a flowchart of a method for indexing the administrativedata according to an embodiment of the present invention; and

FIG. 6 depicts a flowchart of a method for performing a lookup anddisplaying a result to a user based on a search query received from theuser according to an embodiment of the present invention.

The headings used herein are for organizational purposes only and arenot meant to be used to limit the scope of the description or theclaims. As used throughout this application, the word “may” is used in apermissive sense (i.e., meaning having the potential to), rather thanthe mandatory sense (i.e., meaning must). Similarly, the words“include”, “including”, and “includes” mean including but not limitedto. To facilitate understanding, like reference numerals have been used,where possible, to designate like elements common to the figures.

DETAILED DESCRIPTION

The present invention will be illustrated below in conjunction with anexemplary communication system, e.g., the Avaya Aura® system. Althoughwell suited for use with, e.g., a system having an Automatic CallDistribution (ACD) or other similar contact processing switch, thepresent invention is not limited to any particular type of communicationsystem switch or configuration of system elements. Those skilled in theart will recognize the disclosed techniques may be used in anycommunication application in which it is desirable to provide improvedcontact processing.

The phrases “at least one”, “one or more”, and “and/or” are open-endedexpressions that are both conjunctive and disjunctive in operation. Forexample, each of the expressions “at least one of A, B and C”, “at leastone of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B,or C” and “A, B, and/or C” means A alone, B alone, C alone, A and Btogether, A and C together, B and C together, or A, B and C together.

The term “a” or “an” entity refers to one or more of that entity. Assuch, the terms “a” (or “an”), “one or more” and “at least one” can beused interchangeably herein. It is also to be noted that the terms“comprising”, “including”, and “having” can be used interchangeably.

The term “automatic” and variations thereof, as used herein, refers toany process or operation done without material human input when theprocess or operation is performed. However, a process or operation canbe automatic, even though performance of the process or operation usesmaterial or immaterial human input, if the input is received beforeperformance of the process or operation. Human input is deemed to bematerial if such input influences how the process or operation will beperformed. Human input that consents to the performance of the processor operation is not deemed to be “material”.

The term “computer-readable medium” as used herein refers to anytangible storage and/or transmission medium that participate inproviding instructions to a processor for execution. Such a medium maytake many forms, including but not limited to, non-volatile media,volatile media, and transmission media. Non-volatile media includes, forexample, NVRAM, or magnetic or optical disks. Volatile media includesdynamic memory, such as main memory. Common forms of computer-readablemedia include, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, magneto-optical medium, aCD-ROM, any other optical medium, punch cards, paper tape, any otherphysical medium with patterns of holes, a RAM, a PROM, and EPROM, aFLASH-EPROM, a solid state medium like a memory card, any other memorychip or cartridge, a carrier wave as described hereinafter, or any othermedium from which a computer can read.

A digital file attachment to e-mail or other self-contained informationarchive or set of archives is considered a distribution mediumequivalent to a tangible storage medium. When the computer-readablemedia is configured as a database, it is to be understood that thedatabase may be any type of database, such as relational, hierarchical,object-oriented, and/or the like. Accordingly, the present invention isconsidered to include a tangible storage medium or distribution mediumand prior art-recognized equivalents and successor media, in which thesoftware implementations of the present invention are stored.

The terms “determine”, “calculate” and “compute,” and variationsthereof, as used herein, are used interchangeably and include any typeof methodology, process, mathematical operation or technique.

The term “module” as used herein refers to any known or later developedhardware, software, firmware, artificial intelligence, fuzzy logic, orcombination of hardware and software that is capable of performing thefunctionality associated with that element. Also, while the presentinvention is described in terms of exemplary embodiments, it should beappreciated those individual aspects of the present invention can beseparately claimed.

The term “switch” or “server” as used herein should be understood toinclude a Private Branch Exchange (PBX), an ACD, an enterprise switch,or other type of communications system switch or server, as well asother types of processor-based communication control devices such asmedia servers, computers, adjuncts, etc.

FIG. 1 shows an illustrative block diagram of a contact center 100according to an embodiment of the present invention. The contact center100 comprises a server 110, a database 114 containing informationrelated to customers and agents other information that may enhance thevalue and efficiency of the contact center processing, and a pluralityof servers, namely a voice mail server 118, an Interactive VoiceResponse unit (e.g., IVR) 122, and other servers 126, a switch 130, aplurality of working agents operating packet-switched (first)communication devices 134-1-N (such as computer work stations orpersonal computers), and/or circuit-switched unified communicationdevices 138-1-M, all interconnected by a Local Area Network (LAN) 142,(or Wide Area Network (WAN)). The unified communication devices 138-1-Mmay include, but is not restricted to, a Private Branch Exchange (PBX),an Internet Protocol Private Branch Exchange (IP PBX), a messagingsystem, a conferencing system, and so forth. The servers may beconnected via optional communication lines 146 to the switch 130. Aswill be appreciated, the other servers 126 may also include a scanner(which is normally not connected to the switch 130 or Web Server), VoIPsoftware, video call software, voice messaging software, an IP voiceserver, a fax server, a web server, an email server, and the like. Theswitch 130 is connected via a plurality of trunks to a circuit-switchednetwork 152 (e.g., Public Switch Telephone Network (PSTN)) and vialink(s) 154 to the unified communication devices 138-1-M. A securitygateway 158 is positioned between the server 110 and a packet-switchednetwork 162 to process communications passing between the server 110 andthe packet-switched network 162. The security gateway 158 may beimplemented as hardware such as via an adjunct processor (as shown) oras a chip in the server.

Although the preferred embodiment is discussed with reference toclient-server architecture, it is to be understood that the principlesof the present invention apply to other network architectures. Forexample, the present invention applies to peer-to-peer networks, such asthose envisioned by the Session Initiation Protocol (SIP). In theclient-server model or paradigm, network services and the programs usedby end users to access the services are described. The client sideprovides a user with an interface for requesting services from thenetwork, and the server side is responsible for accepting user requestsand providing the services transparent to the user. By contrast in thepeer-to-peer model or paradigm, each networked host runs both the clientand server parts of an application program. Additionally, the presentinvention does not require the presence of packet- or circuit-switchednetworks.

The switch 130 and/or server 110 may be any architecture for directingcontacts to one or more communication devices. In some embodiments ofthe present invention, the switch 130 may perform load-balancingfunctions by allocating incoming or outgoing contacts among a pluralityof logically and/or geographically distinct contact centers.Illustratively, the switch 130 and/or server 110 may be a modified formof the subscriber-premises equipment sold by Avaya Inc. under the namesDefinity™ Private-Branch Exchange (PBX) based ACD system, MultiVantage™PBX, Communication Manager™, S8300™ media server and any other mediaservers, SIP Enabled Services™, Intelligent Presence Server™, and/orAvaya Interaction Center™, and any other products or solutions offeredby Avaya or another company. Typically, the switch 130/server 110 is astored-program-controlled system that conventionally includes interfacesto external communication links, a communications switching fabric,service circuits (e.g., tone generators, announcement circuits, etc.),memory for storing control programs and data, and a processor (i.e., acomputer) for executing the stored control programs to control theinterfaces and the fabric and to provide ACD functionality. Other typesof known switches and servers are well known in the art and thereforenot described in detail herein.

The first communication devices 134-1-N may be packet-switched and mayinclude, for example, IP hardphones such as the Avaya Inc.'s, 4600Series IP Phones™, IP softphones such as Avaya Inc.'s, IP Softphone™,Personal Digital Assistants (PDAs), Personal Computers (PCs), laptops,packet-based H.320 video phones and conferencing units, packet-basedvoice messaging and response units, packet-based traditional computertelephony adjuncts, peer-to-peer based communication devices, and anyother communication device.

The unified communication devices 138-1-M may be circuit-switched. Eachof the communication devices 138-1-M corresponds to one of a set ofinternal extensions Ext-1-M, respectively. The unified communicationdevices 138-1-M may include, for example, wired and wireless telephones,PDAs, H.320 videophones and conferencing units, voice messaging andresponse units, traditional computer telephony adjuncts, and any othercommunication device.

It should be noted that the present invention does not require anyparticular type of information transport medium between switch, orserver and first and second communication devices, i.e., the presentinvention may be implemented with any desired type of transport mediumas well as combinations of different types of transport channels. In anembodiment of the present invention, a communication network may also bea cloud based network.

The packet-switched network 162 may be any data and/or distributedprocessing network, such as the Internet. The packet-switched network162 typically includes proxies (not shown), registrars (not shown), androuters (not shown) for managing packet flows.

The packet-switched network 162 as shown in FIG. 1 is in communicationwith a first communication device 174 via a security gateway 178, andthe circuit-switched network 152 with an external second communicationdevice 180.

In a preferred configuration, the server 110, the packet-switchednetwork 162, the first communication devices 134-1-N, thecircuit-switched network 152, and the unified communication devices138-1-M are Session Initiation Protocol (SIP) compatible and may includeinterfaces for various other protocols such as the Lightweight DirectoryAccess Protocol (LDAP), Secure Shell (SSH) Protocol, H.248, H.323,Simple Mail Transfer Protocol (SMTP), Internet Message Access Protocol 4(IMAP4), Integrated Services Digital Network (ISDN), E1/T1, and analogline or trunk.

It should be emphasized that the configuration of the switch 130, theserver 110, user communication devices, and other elements as shown inFIG. 1 is for purposes of illustration only and should not be construedas limiting the present invention to any particular arrangement ofelements.

As will be appreciated, the server 110 is notified via the LAN 142 of anincoming work item by the communications component (e.g., the switch130, fax server, email server, Web Server, and/or other server)receiving the incoming work item as shown in FIG. 1. The incoming workitem is held by the receiving telecommunications component until theserver 110 forwards instructions to the component to forward or routethe contact to a specific contact center resource, and/or first orunified communication devices 134-1-N, 138-1-M associated with aselected agent. The server 110 distributes and connects these work itemsto telecommunication devices of available agents based on thepredetermined criteria noted above. When the server 110 forwards a voicecontact (or first work item) to an agent, the server 110 also forwardscustomer-related information from the database 114 to the agent'scomputer work station for viewing (such as by a pop-up display) topermit the agent to better serve the customer to achieve desiredbusiness goals (e.g., an average revenue, a customer satisfaction(CSAT), a service level agreement etc.) of the contact center. Dependingon the contact center configuration and current status of the businessgoals, the server 110 may reallocate the work items to the agents. Theagents process the work items or contacts sent to them by the server110. This embodiment is particularly suited for a Customer RelationshipManagement (CRM) environment in which customers are permitted to use anymedia to contact a business. In a CRM environment, both real-time andnon-real-time contacts must be handled and distributed with equalefficiency and effectiveness.

FIG. 2 illustrates block diagram of a data management system 200according to an embodiment of the present invention. The data managementsystem 200 includes a plurality of unified communication devices138-1-M, a crawler 202, a configuration database 204, a probing device206 and a plurality of probing plug-in interfaces 208-1-N. In anembodiment of the present invention, the plurality of unifiedcommunication devices 138-1-M may include, but is not restricted to, aunified communication IP PBX 138-1, a unified communication messagingsystem 138-2, a unified communication conferencing system 138-3, and soforth. The unified communication IP PBX 138-1 is used for telephony, theunified communication messaging system 138-2 is used for voice mails,and the unified communication conferencing system 138-3 is used forvideo or audio conferencing.

The plurality of unified communication devices 138-1-M may storeadministrative data of the contact center. In an embodiment of thepresent invention, the administrative data may include, but is notrestricted to, an agent's username and personal details, an extensionnumber of an agent, a pickup group extension number, a hunt groupextension number, configuration data of associated extensions, and soforth. The unified communication devices 138-1-M may be a set ofrelational databases (for example, ORACLE SQL® databases, DB2® from IBMetc.) configured to store administrative data in an embodiment of thepresent invention. In an embodiment of the present invention, theunified communication devices 138-1-M may be a set of non-relationaldatabases configured to store the administrative data. The plurality ofunified communication devices 138-1-M may also include a set ofrelational databases with a set of non-relational databases in anotherembodiment of the present invention.

The crawler 202 is configured to automatically and repeatedly crawl in aLocal Area Network (LAN) or Wide Area Network (WAN) environment thatincludes the plurality of unified communication devices 138-1-M. In anembodiment of the present invention, the LAN and WAN environment may bea contact center environment. Further, the crawler 202 is configured toaccess the plurality of unified communication devices 138-1-M atpredefined intervals for collecting the administrative data of thecontact center. The predefined intervals may include, but is notrestricted to, an intraday interval, a daily interval, a weeklyinterval, and a monthly interval. In the intra daily interval, theadministrative data is retrieved periodically from the unifiedcommunication devices 138-1-M at predefined time interval, for example,1 minute, 15 minutes, 30 minutes, and so forth. In the daily interval,the administrative data is retrieved once a day from the unifiedcommunication devices 138-1-M and includes a single record for the daythe customer report on. Next, in the weekly interval, the administrativedata is retrieved once a week from the plurality of unifiedcommunication devices 138-1-M. Further, in the monthly interval, theadministrative data is retrieved once a month from the plurality ofunified communication devices 138-1-M. The predefined intervals may beconfigured by a user and the configuration of the user is then stored inthe configuration database 204. In an embodiment of the presentinvention, the user may be an agent, a supervisor or a manager of thecontact center.

The configuration database 204 may include connection details of theunified communication devices 138-1-M. In an embodiment of the presentinvention, the connection details may include, but is not restricted to,an Internet Protocol (IP) address, a hostname, a communication protocol,a username and password that authenticates the crawler 202 to connectwith the unified communication devices 138-1-M, and so forth. Thecrawler 202 retrieves the connection details of the unifiedcommunication devices 138-1-M from the configuration database 204. In anembodiment of the present invention, the crawler 202 may retrieve theadministrative data from the unified communication devices 138-1-M atthe predefined intervals by using the connection details of the unifiedcommunication devices 138-1-M.

Further, the probing device 206 receives a request from the crawler 202to connect with the plurality of unified communication devices 138-1-Mand retrieve the administrative data. The probing device 206 uses theplurality of probing plug-in interfaces 208-1-N for retrieving theadministrative data from the unified communication devices 138-1-M in anembodiment of the present invention. For example, the probing device 206my use a probing plug-in interface that may use a Secure Shell (SSH)protocol for communicating with the unified communication devices138-1-M, a probing plug-in interface that may use an LDAP protocol forcommunicating with the unified communication devices 138-1-M, and soforth. The probing device 206 uses the plurality of probing plug-ininterfaces 208-1-N to connect communication links from the crawler 202to the unified communication devices 138-1-M for retrieving theadministrative data. For example, if the unified communication devices138-1-M stores a table with data for 50 different agents, then theprobing device 206 by using the plurality of probing plug-in interfaces206-1-1N to retrieve the structure of the table as stored in the unifiedcommunication devices 138-1-M and transmits it to the crawler 202.

In another embodiment of the present invention, the crawler 202 isconfigured to store the retrieved administrative data into a temporarydatabase 210. In an embodiment of the present invention, the temporarydatabase 210 may use a set of flat file databases having tables to storethe retrieved information of every unified communication managedobjects. A flat file database is a database in which each database isrepresented as a single table and in which all of the records are storedas single rows of data. The unified communication managed objects mayinclude, but is not restricted to, extensions, hunt groups, pickupgroups, and so forth.

An indexing server 212 may index the retrieved administrative datastored in the temporary database 210. In an embodiment of the presentinvention, the indexed data may be searchable through the one or moresearch queries of the user. Further, a dictionary database 214 mayinclude dictionary items associated with words or phrases of the usersearch queries. In an embodiment of the present invention, thedictionary items may be synonyms of name of indexes of the indexingserver 212. In an embodiment of the present invention, the dictionaryitems may include English words of a dictionary.

The data management system 200 further includes a user interface 216 anda third party system 218. In an embodiment of the present invention, auser of the contact center may trigger one or more search queries byusing the user interface 216. In an embodiment of the present invention,the search query may be a Structured Query Language (SQL) query. Inanother embodiment of the invention, the query may be formed in otherquery languages but not limited to .QL, Java Persistence Query Language(JPQL), or Query By Example (QBE).

The search query of the user is then passed to a search ApplicationProgramming Interface (API) 220 that is configured to search for indexlogic and access a plurality of indexes created by the indexing server212. In an embodiment of the present invention, the search API 220breaks the user's search query into different words or phrases and thenmatches the phrases or synonyms to the plurality of indexes of theindexing server 212. The accessed administrative data is then displayedto the user on the user interface 216 as a search result.

FIG. 3 illustrates block diagram of the indexing server 212 for indexingthe administrative data according to an embodiment of the presentinvention. The index logic of the indexing server 212 explains howindexing of the administrative data is done. In an embodiment of thepresent invention, the indexing of the administrative data of thecontact center is done based on a relationship between managed entitiesof the contact center. In an embodiment of the present invention, themanaged entity may be a user or an extension of the contact center.These entities are managed between the plurality of unifiedcommunication devices 138-1-M, such as an IP PBX, messaging systems,conferencing systems etc. As shown in FIG. 3, a user 302 of the contactcenter may be linked to an extension 304. The user 302 may include, butis not restricted to, details of a plurality of users of the contactcenter. In an embodiment of the present invention, the details mayinclude, but is not restricted to, a username, a user first name, a userlast name, extensions assigned to a user, subscribers assigned to auser, assigned features, and so forth.

Further, the extension 304 may have different relationships in the datamanagement system 200 with a plurality of groups. In an embodiment ofthe present invention, the extension 304 may include, but is notrestricted to, details of the extensions such as an extension name, aclass of service, a class of rejection, extension features, and soforth. The plurality of groups may include, but is not restricted to, aplurality of pickup groups 306-1-N, a plurality of hunt groups 308-1-N,a plurality of coverage groups 310-1-N, a plurality of external mappinggroups 312-1-N, a plurality of permission groups 314-1-N, and so forth.

A pickup group is a list of extensions where each member of the groupmay answer a call on a telephone of another member from their owntelephone. In an embodiment of the present invention, the pickup group306 may include, but is not restricted to, details of the group 306,such as a pickup group name, a pickup group number, extensions assignedto the pickup group 306, and so forth.

A hunt group is a group of extensions that are organized to processspecific calls. When an incoming call is received from a caller in acall center, the call is rotated through a pool of lines until a freeline is found and the caller is connected to that line. The caller mayhear a busy tone only when all the lines of the pool are engaged. In anembodiment of the present invention, the hunt group 308 may include, butis not restricted to, details of the hunt group 308 for example, a huntgroup name, a hunt group number, extensions assigned to the hunt group308, and so forth.

A permission group is a group that may include a class of service (COS)or a class of rejection (COR) as a parameter that are used to definepermission or a rejection an extension may have on the unifiedcommunication devices. For example, a group A may have a need forextended voicemail message retentions while a group B may need theability to forward incoming calls to a cell phone, and so forth. In anembodiment of the present invention, the permission group 314, mayinclude details of the extensions that are assigned permissions(COS/COR). The details of the extensions that are assigned permissions(COS/COR) may include, but is not restricted to, a class of rejection, aclass of service, role of a group, a group name, and so forth.Similarly, the coverage 310 may include details of a coverage group. Thedetails may include, but is not restricted to, a coverage name, acoverage number, assigned coverage destinations, and so forth. Theexternal mapping group 312 may include details of external mapping suchas, an external mapped number, an internal mapped number, and so forth.

Further, the managed entities for example, the user 302, and theextension 304 may also be connected to a messaging subscriber 316 and aconferencing user 318.

The messaging subscriber 316 may be a group of users that may besubscribed for a messaging service. The messaging subscriber 316 mayinclude details of the subscribers such as, a subscriber number,subscriber features, subscriber permission details, and so forth. Apermission (COR/COS) 320 may include a class of service (COS) or a classof rejection (COR) as parameters that are used to define permission or arejection of an extension for the messaging subscriber 316.

The conferencing user 318 may be a user that may be subscribed forproviding audio or video conferencing services to the customers. Theconferencing user 318 may include, but is not restricted to, all thedetails associated with a conferencing user, such as a username,extensions assigned to the user, assigned features, and so forth.

FIG. 4A illustrates block diagram of the data management system 200 forperforming a lookup of a user search query according to an embodiment ofthe present invention. The data management system 200 includes the userinterface 216 that is configured to receive one or more search queriesfrom a user. The user triggers a search query by using the userinterface 216 or the third party systems 218, for example, “ExtensionArkady Pickup 1”. In an embodiment of the present invention, the searchquery may be a SQL query. In another embodiment of the invention, thequery may be formed in other query languages such as, but is not limitedto .QL, Java Persistence Query Language (JPQL), or Query By Example(QBE). The search API 220 segments the search query received from theuser into different phrases or words. In this case, the differentphrases of the search query may include Extension+Arkady+Pickup+1. Eachphrase of the search query is then matched with a dictionary item andthe phrases that match with the dictionary items are parsed by thesearch API 220 in order to match a specific index in the indexing server212. Each of the phrases and synonyms of the search queries are matchedto an index of the indexing server 212. The dictionary database 214 mayinclude dictionary items associated with words or phrases of the usersearch queries. In an embodiment of the present invention, thedictionary items may be synonyms of name of indexes of the indexingserver 212. In an embodiment of the present invention, the dictionaryitems may include English words of a dictionary. As shown in FIG. 4B,the phrase “Extension” is matched with items such as, extension,station, and phone. Similarly, the phrase “pickup group” is matched withdictionary items such as pickup group, pickup, and pickupgroup. Inanother embodiment of the present invention, each of the phrases ismatched with the dictionary items for spelling mistakes of the words orphrases.

The indexing server 212 then performs one or more lookups in differentindexes of the indexing server 212 in order to retrieve results. In thiscase, the search API 220 may perform the one or more lookups for each ofthe phrases in the indexes of the indexing server 212. The search API220 may perform the lookup for the phrase “Extension” in an extensionindex that is associated with the agent “Arkady”. In another embodimentof the present invention, the search API 220 may perform the lookup inthe extension index for an extension of the phrase “Arkady 1”. Thephrase “Arkady” is a name of an agent whose administrative data is to beretrieved, and therefore is displayed as it is in a search result.Further, in the extension index, the phrase “pickup” is searched in thepickup group index 306.

In case, when a phrase of a search query has an exact match in the firstindex i.e., in the extension index, then the search API 220 may performone or more lookups in each of the indexes of the indexing server 212that is associated with the extension. For example, in this case, thesearch API 220 may found an exact match for the extension “Arkady”, thatis, let say, the extension number of “Arkady” is “5555”, then the searchAPI 220, may also perform one or more lookups in other indexes (e.g.,pickup groups, hunt groups, etc.) of the indexing server 212. In thepickup index 306, the search API 220 performs a lookup to retrieve alist of pickup groups 306-1-N that stores “5555” extension. Similarly,in the hunt group index, the search API 220 performs a lookup toretrieve a list of hunt groups 308-1-N that stores “5555” extension.Similarly, other indexes are lookup to retrieve a list of groups thatmay store data associated with the extension.

Further, one or more search results may be displayed on the userinterface 216 in an order such as,

Extension name and number

Username and personal details

Assigned pickup group details

Assigned hunt group details

By using the above mentioned order, the user interface 216 may show afull description of the search result. First row of the search resultmay display the result of the search query, whereas the following rowsmay display additional information such as hyperlinks to indexes thatmay store administrative data associated with the one or more searchqueries of the user.

In an embodiment of the present invention, if the user triggers a searchquery “pickup Arkady”, then the search result may be displayed by thedata management system 200 in an order, such as

Assigned pickup group details

Username and personal details

Extension name and number

Assigned hunt group details

By using the above mentioned order, the user interface may show a fulldescription of the search result. First row of the search result maydisplay the result of the search query, whereas the following rows maydisplay additional information such as hyperlinks to indexes that maystore administrative data associated with the one or more search queriesof the user.

Therefore, the data management system 200 provides dynamic searchresults. For example, the data management system 200 may change theorder of the search results based on the user's search results.

In an embodiment of the present invention, the search results mayinclude a set of hyperlinks that may allow the user to accessconfiguration data of each link. For example, if the user clicks on thehyperlink of the first row, he may access configuration details of theextension as stored in the indexes of the indexing server 212. Thesearch results of the search queries of the user may be displayedgraphically to the user in an embodiment of the present invention.

FIG. 5 depicts a flowchart of a method 500 for indexing administrativedata of the contact center according to an embodiment of the presentinvention.

At step 502, a data management system 200 retrieves a list of unifiedcommunication devices from a configuration database in an embodiment ofthe present invention. The list of the unified communication devices mayinclude a list of plurality of unified communication devices from whichthe administrative data is to be retrieved. In an embodiment of thepresent invention, the administrative data may include, but is notrestricted to, an agent's username and personal details, an extensionnumber of an agent, a pickup group extension number, a hunt groupextension number, configuration data of associated extensions, and soforth.

In another embodiment of the present invention, the data managementsystem 200 may retrieve one or more connection details of the unifiedcommunication devices from the configuration database. The connectiondetails may include, but is not restricted to, an Internet Protocol (IP)address, a hostname, a communication protocol, an input/output port, ausername and password for authenticating with the unified communicationdevices, and so forth. In an embodiment of the present invention, thecrawler is configured to retrieve the connection details and list ofunified communication devices from the configuration database.

At step 504, the data management system 200 enables the crawler toconnect with the plurality of unified communication devices of thecontact center by transmitting a request to a probing device in anembodiment of the present invention. The data management system 200 usesa plurality of probing plug-in interfaces to connect the crawler of thedata management system 200 to the plurality of unified communicationdevices for retrieving the administrative data. For example, the probingdevice 206 may use a probing plug-in interface that may use a SecureShell (SSH) protocol for communicating with the unified communicationdevice, a probing plug-in interface that may use an LDAP protocol forcommunicating with the unified communication device, and so forth. Theprobing device uses the plurality of probing plug-in interfaces toprovide communication links from the crawler to the unifiedcommunication devices for retrieving the administrative data. Forexample, if a unified communication device stores a table with data of50 different callers, then the probing plug-in interfaces retrievesstructure of the table as it is stored in the unified communicationdevices and transmits it to the crawler of the data management system200.

At step 506, the data management system 200 collects the administrativedata from the plurality of unified communication devices at predefinedinterval in an embodiment of the present invention. The predefinedintervals may include, but is not restricted to, an intra dailyinterval, a daily interval, a weekly interval, and a monthly interval.In the intra daily interval, the administrative data is retrievedperiodically from the unified communication devices at predefined timeinterval for example, 1 minute, 15 minutes, 30 minutes, and so forth. Inthe daily interval, the administrative data is retrieved once a day andincludes a single record for the day the customer report on. Next, inthe weekly interval, the administrative data is retrieved once a weekfrom the contact center unified communication devices. Further, in themonthly interval, the administrative data is retrieved once a month fromthe unified communication devices.

At step 508, the data management system 200 stores the collectedadministrative data into a temporary database in an embodiment of thepresent invention. In an embodiment of the present invention, thetemporary database may use a set of flat file database having tables tostore the collected administrative data of every unified communicationmanaged objects. The unified communication managed objects may include,but is not restricted to, an extension, a hunt group, a pickup group,and so forth. The temporary database receives the administrative datafrom the crawler and at the end of a day stores the administrative datain flat tables in an embodiment of the present invention.

At step 510, the data management system 200 indexes the administrativedata stored in the temporary database. The indexed administrative datais then stored in a plurality of indexes of the indexing server. In anembodiment of the present invention, the indexed data may be searchablethrough the one or more search queries of the user.

FIG. 6 depicts a flowchart of a method 600 for performing a lookup anddisplaying a result to a user based on a search query received from theuser according to an embodiment of the present invention.

At step 602, a data management system 200 receives a search query from auser in an embodiment of the present invention. The user may be anagent, a manager, or a supervisor of the contact center in an embodimentof the present invention. The user triggers a search query, using a userinterface or third party systems, for example, get “extension Arkadypickup group 1”. In an embodiment of the present invention, the searchquery may be a SQL query. In another embodiment of the invention, thequery may be formed in other query languages, but is not limited to .QL,Java Persistence Query Language (JPQL), or Query By Example (QBE).

At step 604, the data management system 200 segments the user searchquery into different words or phrases in an embodiment of the presentinvention. For example, in this case, the user search query “extensionArkady pickup group 1” is segmented into different phrases and mayinclude different phrases such as extension+Arkady+pickup+1.

At step 606, the data management system 200 determines whether each ofthe phrases or their synonyms of the search query is matched with adictionary items. In an embodiment of the present invention, thedictionary items may be synonyms of name of indexes of the indexingserver. For example, in this case, the phrase “extension” is matchedwith dictionary items such as extension, station, or phone. In anembodiment of the present invention, the dictionary items may alsoinclude English words of a dictionary. When it is determined that eachphrase is matched with the dictionary items, the method 600 proceedstowards step 610. When any of the phrase does not match with thedictionary items, the method 600 proceeds towards step 608.

At step 608, the data management system 200 may display the phrase thatdoes not match with the dictionary items as it is in a search queryresult. For example, in this case, the phrase “Arkady” is a name of anagent whose data is to be retrieved. Therefore, this phrase may bedisplayed as it is in the search query result.

At step 610, the data management system 200 performs lookup for each ofthe phrases across a plurality of indexes of an indexing server in anembodiment of the present invention. For example, the data managementsystem 200 may perform lookup for the phrase “extension” in an extensionindex that is associated with the agent “Arkady”. Further, the datamanagement system 200 may perform the lookup in the extension index forextension of a phrase “Arkady 1”. Further, in the extension index, thephrase “pickup” is searched in a pickup group index.

At step 612, the data management system 200 performs one or more lookupsin additional indexes that stores administrative data associated withthe matched phrase. For example, in this case, the data managementsystem 200 may found an exact match for the extension “Arkady”, that is,let say, the extension number of “Arkady” is “5555”, then the datamanagement system 200 may also perform lookup in other indexes (e.g.,pickup groups, hunt groups, etc.) of the indexing server. In the pickupindex, the data management system 200 performs a lookup to retrieve alist of pickup groups that stores “5555” extension. Similarly, in thehunt group index, the data management system 200 performs a lookup toretrieve a list of hunt groups that stores “5555” extension. Similarly,other indexes are lookup to retrieve a list of groups that may storedata associated with the extension.

At step 614, the data management system 200 displays the search queryresult to the user. In an embodiment of the present invention, thesearch query result is displayed in the user interface of the datamanagement system 200. The search result may be displayed in an order,for example,

Extension name and number

Username and personal details

Assigned pickup group details

Assigned hunt group details

By using the above mentioned order, the user interface may show a fulldescription of the search result. First row of the search result maydisplay the result of the search query, whereas the following rows maydisplay additional information such as hyperlinks to indexes that maystore administrative data associated with the one or more search queriesof the user.

The exemplary systems and methods of this present invention have beendescribed in relation to a contact center. However, to avoidunnecessarily obscuring the present invention, the preceding descriptionomits a number of known structures and devices. This omission is not tobe construed as a limitation of the scope of the present invention.Specific details are set forth to provide an understanding of thepresent invention. It should however be appreciated that the presentinvention may be practiced in a variety of ways beyond the specificdetail set forth herein.

Furthermore, while the exemplary embodiments of the present inventionillustrated herein show the various components of the system collocated,certain components of the system can be located remotely, at distantportions of a distributed network, such as a LAN and/or the Internet, orwithin a dedicated system. Thus, it should be appreciated, that thecomponents of the system can be combined in to one or more devices, suchas a switch, server, and/or adjunct, or collocated on a particular nodeof a distributed network, such as an analog and/or digitaltelecommunications network, a packet-switch network, or acircuit-switched network.

It will be appreciated from the preceding description, and for reasonsof computational efficiency, that the components of the system can bearranged at any location within a distributed network of componentswithout affecting the operation of the system. For example, the variouscomponents can be located in a switch such as a PBX and media server,gateway, in one or more communications devices, at one or more users'premises, or some combination thereof. Similarly, one or more functionalportions of the system could be distributed between a telecommunicationsdevice(s) and an associated computing device.

Furthermore, it should be appreciated the various links connecting theelements can be wired or wireless links, or any combination thereof, orany other known or later developed element(s) that is capable ofsupplying and/or communicating data to and from the connected elements.These wired or wireless links can also be secure links and may becapable of communicating encrypted information. Transmission media usedas links, for example, can be any suitable carrier for electricalsignals, including coaxial cables, copper wire and fiber optics, and maytake the form of acoustic or light waves, such as those generated duringradio-wave and infra-red data communications.

Also, while the flowcharts have been discussed and illustrated inrelation to a particular sequence of events, it should be appreciatedthat changes, additions, and omissions to this sequence can occurwithout materially affecting the operation of the present invention.

A number of variations and modifications of the present invention can beused. It would be possible to provide for some features of the presentinvention without providing others.

For example in one alternative embodiment of the present invention, thesystems and methods of this present invention can be implemented inconjunction with a special purpose computer, a programmed microprocessoror microcontroller and peripheral integrated circuit element(s), an ASICor other integrated circuit, a digital signal processor, a hard-wiredelectronic or logic circuit such as discrete element circuit, aprogrammable logic device or gate array such as PLD, PLA, FPGA, PAL,special purpose computer, any comparable means, or the like.

In general, any device(s) or means capable of implementing themethodology illustrated herein can be used to implement the variousaspects of this present invention. Exemplary hardware that can be usedfor the present invention includes computers, handheld devices,telephones (e.g., cellular, Internet enabled, digital, analog, hybrids,and others), and other hardware known in the art. Some of these devicesinclude processors (e.g., a single or multiple microprocessors), memory,non-volatile storage, input devices, and output devices. Furthermore,alternative software implementations including, but not limited to,distributed processing or component/object distributed processing,parallel processing, or virtual machine processing can also beconstructed to implement the methods described herein.

In yet another embodiment of the present invention, the disclosedmethods may be readily implemented in conjunction with software usingobject or object-oriented software development environments that provideportable source code that can be used on a variety of computer orworkstation platforms. Alternatively, the disclosed system may beimplemented partially or fully in hardware using standard logic circuitsor VLSI design. Whether software or hardware is used to implement thesystems in accordance with this present invention is dependent on thespeed and/or efficiency requirements of the system, the particularfunction, and the particular software or hardware systems ormicroprocessor or microcomputer systems being utilized.

In yet another embodiment of the present invention, the disclosedmethods may be partially implemented in software that can be stored on astorage medium, executed on programmed general-purpose computer with thecooperation of a controller and memory, a special purpose computer, amicroprocessor, or the like. In these instances, the systems and methodsof this present invention can be implemented as program embedded onpersonal computer such as an applet, JAVA® or CGI script, as a resourceresiding on a server or computer workstation, as a routine embedded in adedicated measurement system, system component, or the like. The systemcan also be implemented by physically incorporating the system and/ormethod into a software and/or hardware system.

Although the present invention describes components and functionsimplemented in the embodiments with reference to particular standardsand protocols, the present invention is not limited to such standardsand protocols. Other similar standards and protocols not mentionedherein are in existence and are considered to be included in the presentinvention. Moreover, the standards and protocols mentioned herein andother similar standards and protocols not mentioned herein areperiodically superseded by faster or more effective equivalents havingessentially the same functions. Such replacement standards and protocolshaving the same functions are considered equivalents included in thepresent invention.

The present invention, in various embodiments, configurations, andaspects, includes components, methods, processes, systems and/orapparatus substantially as depicted and described herein, includingvarious embodiments, sub-combinations, and subsets thereof. Those ofskill in the art will understand how to make and use the presentinvention after understanding the present disclosure. The presentinvention, in various embodiments, configurations, and aspects, includesproviding devices and processes in the absence of items not depictedand/or described herein or in various embodiments, configurations, oraspects hereof, including in the absence of such items as may have beenused in previous devices or processes, e.g., for improving performance,achieving ease and/or reducing cost of implementation.

The foregoing discussion of the present invention has been presented forpurposes of illustration and description. The foregoing is not intendedto limit the present invention to the form or forms disclosed herein. Inthe foregoing Detailed Description for example, various features of thepresent invention are grouped together in one or more embodiments,configurations, or aspects for the purpose of streamlining thedisclosure. The features of the embodiments, configurations, or aspectsof the present invention may be combined in alternate embodiments,configurations, or aspects other than those discussed above. This methodof disclosure is not to be interpreted as reflecting an intention thatthe present invention requires more features than are expressly recitedin each claim. Rather, as the following claims reflect, inventiveaspects lie in less than all features of a single foregoing disclosedembodiment, configuration, or aspect. Thus, the following claims arehereby incorporated into this Detailed Description, with each claimstanding on its own as a separate preferred embodiment of the presentinvention.

Moreover, though the description of the present invention has includeddescription of one or more embodiments, configurations, or aspects andcertain variations and modifications, other variations, combinations,and modifications are within the scope of the present invention, e.g.,as may be within the skill and knowledge of those in the art, afterunderstanding the present disclosure. It is intended to obtain rightswhich include alternative embodiments, configurations, or aspects to theextent permitted, including alternate, interchangeable and/or equivalentstructures, functions, ranges or steps to those claimed, whether or notsuch alternate, interchangeable and/or equivalent structures, functions,ranges or steps are disclosed herein, and without intending to publiclydedicate any patentable subject matter.

What is claimed is:
 1. A data management system for indexingadministrative data of a contact center, the data management systemcomprising: one or more unified communication devices configured tostore the administrative data; a crawler configured to collect theadministrative data from the one or more unified communication devices;a probing device configured to enable the crawler to communicate andretrieve the administrative data from the one or more unifiedcommunication devices; a temporary database configured to store thecollected administrative data; wherein the temporary database stores thecollected administrative data in a plurality of flat file tables; and anindexing server configured to index the stored administrative data;wherein the indexed administrative data is searchable through one ormore user search queries.
 2. The data management system of claim 1,wherein the administrative data comprises at least one of an agent'susername and personal details, an extension number, a pickup groupextension number, a hunt group extension number, and configuration dataof associated extensions.
 3. The data management system of claim 1,wherein the unified communication devices comprise one or more of anInternet Protocol Private Branch Exchange (IP PBX) system, a PrivateBranch Exchange (PBX) system, a messaging system, and a conferencingsystem.
 4. The data management system of claim 1, wherein the probingdevice comprising one or more plug-in interfaces to retrieve theadministrative data from the one or more unified communication devices.5. The data management system of claim 1, wherein the crawler is furtherconfigured to retrieve one or more lists of unified communicationdevices from a configuration database.
 6. The data management system ofclaim 1, wherein the crawler is further configured to retrieve one ormore connection details of the one or more unified communication devicesfrom the configuration database.
 7. The data management system of claim1, wherein the connection details comprise one or more of an InternetProtocol (IP) address, a hostname, a communication protocol, a usernameand a password for authenticating with the one or more unifiedcommunication devices.
 8. The data management system of claim 1, whereinthe crawler is further configured to collect the administrative data atpredefined intervals.
 9. The data management system of claim 8, whereinthe predefined interval comprise one or more of an intra daily interval,a daily interval, a weekly interval, and a monthly interval.
 10. Thedata management system of claim 1, further comprises a dictionarydatabase configured to store synonyms of name of indexes of the indexingserver as one or more dictionary items.
 11. A computer-implementedmethod for indexing administrative data of a contact center, the methodcomprising: retrieving one or more connection details and one or morelists of unified communication devices from a configuration database;collecting, by a crawler, the administrative data at predefinedintervals from the one or more unified communication devices; andstoring the collected administrative data into a temporary database,wherein the collected administrative data is indexed by an indexingserver; wherein the indexed administrative data is searchable throughone or more user search queries.
 12. The method of claim 11, wherein theadministrative data comprises at least one of an agent's username andpersonal details, an extension number, a pickup group extension number,a hunt group extension number, and configuration data of associatedextensions.
 13. The method of claim 11, wherein the connection detailscomprise one or more of an Internet Protocol (IP) address, a hostname, acommunication protocol, and a username and a password for authenticatingwith the one or more reporting systems.
 14. The method of claim 11,wherein the predefined interval comprise one or more of an intra dailyinterval, a daily interval, a weekly interval, and a monthly interval.15. A computer-implemented method for searching administrative data of acontact center, the method comprising: receiving one or more searchqueries from a user; segmenting the one or more search queries into aplurality of different phrases; matching the plurality of differentphrases with one or more dictionary items; performing one or morelookups on a plurality of indexes based on the one or more searchqueries received from the user; and displaying one or more search queryresults to the user.
 16. The method of claim 15, wherein the one or moresearch queries are based on Structured Query Language (SQL).
 17. Themethod of claim 15, further comprising parsing the plurality ofdifferent phrases to match one or more specific indexes.
 18. The methodof claim 15, wherein the matching of the plurality of different phraseswith the indexes of an indexing server is performed.
 19. The method ofclaim 15, further performing one or more lookups in the indexes toretrieve additional data based on the one or more user search queries;wherein the additional data comprise one or more of extension numbers ofone or more groups, and configuration data associated with the one ormore search queries.
 20. The method of claim 15, wherein the one or moresearch query results are displayed graphically to the user.